home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.amiga.applications
- Path: fnnews.fnal.gov!unixhub!news
- From: wglp09@scsa1.slac.stanford.edu (W.G.J. Langeveld)
- Subject: Re: Executive Probs with Maple
- Content-Type: text/plain; charset=iso-8859-1
- Message-ID: <DL1FpM.5JF@unixhub.SLAC.Stanford.EDU>
- Sender: news@unixhub.SLAC.Stanford.EDU
- Content-Transfer-Encoding: 8bit
- Organization: Stanford Linear Accelerator Center
- X-Newsreader: Interworks_GRn 3.0b11 September 9, 1995
- References: <4d2mnl$85q@walrus.megabaud.fi>
- Mime-Version: 1.0
- Date: Thu, 11 Jan 1996 22:27:21 GMT
-
- In article <4d2mnl$85q@walrus.megabaud.fi> petrin@walrus.megabaud.fi (Petri Nordlund) writes:
- > W.G.J. Langeveld <wglp09@scsa1.slac.stanford.edu> writes:
- > >> >> I am actually using the symbolic arithmetical package MapleV.
- > >> >> Unfortunately the Plot3D module doesn┤t open a screen and does not return
- > >> >> back to Maple, if Executive is running. Result: Maple hangs. ( Execute is
- > >> >> definitely responsible). Setting all Maple task schedule settings to IGNORE
- > >> >> did not work. Any ideas ?
- > >>
- > >> > You may want to talk to the author of Executive, and have them fix the
- > >> > incompatibility.
- > >>
- > >> You are jumping to conclusions, now :-)
- > >
- > >Well, I'm not. Executive is a "system hack", which I presume does not have the
- > >"blessing" of either Commodore or Amiga-Tech. Without Executive, Maple runs fine,
- > >with Executive it does not. Hence it is not compatible, almost by definition...
- >
- > Hack is something you do in ten minutes, and I've spent the last two
- > years with Executive. Hack is also something that uses illegal things
- > to achieve its purpose. Executive is neither. The scheduler in Executive
- > only changes task priorities, and there's nothing wrong with that.
- > And the scheduler is optional, it can be turned off, you'll then have
- > a very comprehensive system control package.
- >
- > I received a registration from Amiga Technologies GmbH last week. They
- > have no plans regarding Executive, but I hope that now, when even
- > Windows 95 has got better multitasking than Amiga, a better scheduler,
- > like Executive has, would be implemented in AmigaOS.
- >
- > And Maple, it's not compatible with system legal software. Every user
- > has the right to change task priorities. If you would like to run
- > Maple at priority lower than -24, you could do that, but then Maple
- > wouldn't work. I very much appreciate that Maple has been ported
- > to Amiga, but in this case it has a bug, which should be fixed.
- > Executive can cope with software like Maple by not scheduling it.
- >
- > >Having said that, if there's a way we can make Executive happy in an upcoming
- > >patch of (that is, if there will be one) Maple without compromising running
- > >without Executive, then we will likely do so.
- >
- > Yes there is, the Maple<-->MaplePlot3D interface should be fixed so that
- > it would work regardless of task priorities. I wonder why the MaplePlot3D
- > task was given priority -24 in the first place?
-
- My guess is that Executive sets it that way. Here's why I think so.
- I call SystemTags() with just enough parameters to run the plotter. I do not
- specify a priority, because SystemTags is documented as setting the priority
- to the same value as the task calling it, which is precisely what I want: I
- want the main Maple program and the plotter to get equal CPU time. And that
- single call to SystemTags() is all that happens. There's no task priority
- setting anywhere else in Maple. If that's not "compatible with system legal
- software" then I don't know what is.
-
- Here's my guess at what happens: Assume Maple gets started at priority 0.
- Now, someone wants to plot something. Maple needs to do a bunch of calculations
- before it is ready to spawn the plotter. By that time, perhaps, Executive has
- set Maple's priority down to -24, to give other tasks (if any) a chance to
- work. And, perhaps, Maple executes the SystemTags call for some reason not
- at priority 0 as it otherwise would but still at priority -24. And so, the
- base priority of the plotter becomes -24, and assuming that Executive will
- never let any task get a priority higher than its base priority, the plotter
- will essentially never run. If my guess is correct, then it's clearly a bug
- in Executive: it should start tasks spawned by other tasks at the same *base*
- priority as the parent task, not at the *current* priority of the parent task.
-
- Maybe there's another explanation, but I can't think of one.
-
- By the way, if a user did not run Executive, and if the user just set the
- priority of Maple to something else, everything would continue to work:
- the plotter would still be started up at the same priority as Maple itself,
- if the plotter wasn't running yet. And if the plotter were already running
- and the user set Maple's priority higher then the plotter's, then the user
- would get the completely expected result that the plotter wouldn't run very
- well. My answer would simply be: don't do that.
-
- Willy.
-
- PS: A hack is something that is "kludged in" on top of something that wasn't
- designed for the purpose. Even if the programmer spent all his life on it,
- it would still be a hack. There's a thing called a "quick hack", that may be
- 10 minutes work, but that's not what I had in mind. I consider, for example,
- VMM also a hack, and I'm sure it wasn't a quick one. And I never implied that
- hacks can't be useful. Some are very useful.
-
- --
- W.G.J. Langeveld - SLAC | e-mail: wglp09@scsa1.slac.stanford.edu
- | langeveld@bix.com
-